home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
games
/
kids
/
fouryrs.zoo
/
tile1.lst
< prev
next >
Wrap
File List
|
1993-02-21
|
2KB
|
120 lines
' tile1
' Programmed by Seymour Shlien in GFA Basic 3.5
' 624 Courtenay Avenue
' Ottawa, Ontario
' Canada, K2A 3B5
' Feb 21 1993
DIM deskcolors%(16)
DIM xbs_files$(25)
rez%=XBIOS(4)
IF rez%<>0
ALERT 3," Please switch to | low resolution! ",1,"Oops",b%
STOP
ENDIF
@get_deskcolors
@set_standard_colors
nx_grid%=30
ny_grid%=24
nx_space%=10
ny_space%=6
x_left%=10
x_right%=x_left%+nx_grid%*nx_space%
y_top%=24
y_bot%=y_top%+ny_grid%*ny_space%
ix_repeat%=6
iy_repeat%=6
col%=1
@color_bar
@draw_grid
REPEAT
IF MOUSEK=1
IF MOUSEY>20
ix%=((MOUSEX-x_left%)/nx_space%) MOD ix_repeat%
iy%=((MOUSEY-y_top%)/ny_space%) MOD iy_repeat%
@put_tiles(ix%,iy%,col%)
PAUSE 5
ELSE IF MOUSEX<180
col%=MOUSEX/20
ELSE IF MOUSEX<230
DEFFILL 8
PBOX x_left%,y_top%,x_right%,y_bot%
@draw_grid
PAUSE 20
ENDIF
ENDIF
UNTIL ((MOUSEK=1) AND (MOUSEX>230) AND (MOUSEY<20))
@restore_deskcolors
PROCEDURE draw_grid
FOR i%=0 TO nx_grid%
LINE x_left%+i%*nx_space%,y_top%,x_left%+i%*nx_space%,y_bot%
NEXT i%
FOR i%=0 TO ny_grid%
LINE x_left%,y_top%+i%*ny_space%,x_right%,y_top%+i%*ny_space%
NEXT i%
RETURN
> PROCEDURE put_tiles(ix%,iy%,col%)
DEFFILL col%
i_stop%=(nx_grid%-1)/ix_repeat%
j_stop%=(ny_grid%-1)/iy_repeat%
FOR i%=0 TO i_stop%
FOR j%=0 TO j_stop%
i1%=i%*nx_space%*ix_repeat%+x_left%+ix%*nx_space%
i2%=i1%+nx_space%-1
j1%=j%*ny_space%*iy_repeat%+y_top%+iy%*ny_space%
j2%=j1%+ny_space%-1
PBOX i1%,j1%,i2%,j2%
NEXT j%
NEXT i%
RETURN
> PROCEDURE color_bar
CLS
FOR i=1 TO 8
DEFFILL i
PBOX i*20,8,(i+1)*20,16
BOX i*20,8,(i+1)*20,16
NEXT i
DEFTEXT 1
BOX 182,6,228,16
TEXT 184,14,"CLEAR"
BOX 228,6,270,16
TEXT 230,14,"QUIT"
DEFFILL 8
PBOX 0,20,319,199
DEFMOUSE 0
RETURN
> PROCEDURE get_deskcolors
LOCAL i%
FOR i%=0 TO 15
deskcolors%(i%)=XBIOS(7,i%,-1)
NEXT i%
RETURN
> PROCEDURE restore_deskcolors
LOCAL i%
FOR i%=0 TO 15
SETCOLOR i%,deskcolors%(i%)
NEXT i%
RETURN
> PROCEDURE set_standard_colors
LOCAL i%,j%
FOR i%=0 TO 15
READ j%
SETCOLOR i%,j%
NEXT i%
DATA 4095
DATA 3840
DATA 240
DATA 4080
DATA 15
DATA 3855
DATA 255
DATA 1365
DATA 819
DATA 3891
DATA 1011
DATA 4083
DATA 831
DATA 3901
DATA 1023
DATA 0
RETURN